The present invention relates to a method of reconstructing signal amplitudes for video coding and compression. More specifically, it relates to methods for quantization and adaptive dynamic range signaling in Sample Adaptive Offset (SAO) processes in video coding and processing systems such as within the High Efficiency Video Coding (HEVC) standard.
The HEVC standard, currently published as ISO/IEC 23008-2 MPEG-H Part 2 and ITU-T H.265, introduced several new video coding tools designed to improve video coding efficiency over previous video coding standards and technologies, including, but not limited to MPEG-2, MPEG-4 Part 2, MPEG-4 AVC/H.264, VC1, and VP8. One of these tools is the SAO, which is a filtering mechanism typically performed after deblocking filtering. The process may be in-loop, e.g., impacting subsequent pictures that may use an SAO processed picture as a reference, or out of loop, e.g., only impacting display or other subsequent processing outside an encoder. SAO groups reconstructed pixels into categories and reduces distortion by applying an offset to pixel values based on a predefined categorization or classification process.
SAO, as defined in the HEVC specification, supports two operating modes: an edge offset mode and a band offset mode. In the edge offset mode, the value of a predetermined sample may be compared to two of eight neighboring samples in a horizontal, vertical, or diagonal direction. Based on a simple direct comparison of sampled values, the predetermined sample may be classified into one of several categories. In the band offset mode, the amplitude of a predetermined sample may be used to categorize the sample into 1 of 32 bands. An offset may be specified for the sample if it is categorized into 1 of 4 contiguous bands in the set of 32 bands for which SAO supports an offset parameter.
The existing HEVC standard includes limitations on SAO methods with respect to classification and overhead. In this regard, the classification process is limited by bitdepth, precision, color, and the number of bands used for the classification. To reduce the overhead needed to signal offset values, the existing HEVC standard limits both the number of bands into which an offset may be provided, and also the ability to specify precise offset values for each of the different pixel categories. For example, limiting the maximum value of offset values for bit depths above 10 bits reduces the preciseness of SAO values at higher bit depths in favor of an increased dynamic range covered by the SAO values. However, in some instances, higher precision of SAO values may be more important for image quality purposes than a high dynamic range, such as when the offset to be added is within a small range. There is therefore a need for a more flexible approach to SAO that is able to classify samples with less susceptibility to noise, and to expand the precision of applied offsets while minimizing the impact on the dynamic range of the offset values and/or the signal overhead needed to transmit these offsets.